package com.zzyl.mapper;

import com.zzyl.dto.ResourceDto;
import com.zzyl.entity.Resource;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ResourceMapper {

    int deleteByPrimaryKey(Long id);

    int insert(Resource record);

    int insertSelective(Resource record);

    Resource selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(Resource record);

    int updateByPrimaryKey(Resource record);

    int batchInsert(@Param("list") List<Resource> list);

    //查询资源列表
    List<Resource> selcctList(ResourceDto resourceDto);

    //查询父资源
    Resource selectByResourceNo(String parentResourceNo);

    //查询自身状态
    String selectStatus(String resourceNo);

    //查询父资源状态
    String getParentStatus(String parentResourceNo);

    //启用-禁用
    void updateStatus(Resource resource);

    //是否有子资源
    List<Resource> selectSon(Resource resource);

    //是否有子资源【只有编号参数，返回数量】
    Long getSon(String resourceNo);

    //删除菜单
    void delete(String resourceNo);
}